package com.dm0858.bianmin.utils;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;

/**
 * Created by yelvqing on 2018/5/1.
 */

public class CacheUtils {

    private static final String CACHE_FILE_NAME = "HiGoDriver";
    private static SharedPreferences mSharedPreferences;

    public static void putBoolean(Context context, String key, boolean value) {
        if (mSharedPreferences == null) {
            mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
                    Context.MODE_PRIVATE);
        }
        mSharedPreferences.edit().putBoolean(key, value).commit();
    }

    public static boolean getBoolean(Context context, String key,
                                     boolean defValue) {
        if (mSharedPreferences == null) {
            mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
                    Context.MODE_PRIVATE);
        }
        return mSharedPreferences.getBoolean(key, defValue);
    }

    /**
     * ��SharedPreferences�д洢һ���ַ�
     * @param context
     * @param key
     * @param value
     */
    public static void putString(Context context, String key, String value) {
        if (mSharedPreferences == null) {
            mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
                    Context.MODE_PRIVATE);
        }
        mSharedPreferences.edit().putString(key, value).commit();
    }

    /**
     * ��SharedPreferences��ȡһ���ַ�
     * @param context
     * @param key
     * @param defValue
     */
    public static String getString(Context context, String key, String defValue) {
        if (mSharedPreferences == null) {
            mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
                    Context.MODE_PRIVATE);
        }
        return mSharedPreferences.getString(key, defValue);
    }

    public static boolean isLogin(Context context) {
        String token = getString(context, "token", "");
        if ("".equals(token)) {
            return false;
        }
        return true;
    }

    public static String getReq_token(Context context, String key) {
        return getString(context, key, "");
    }

    public static void clearReq_token(Context context, String key) {
        putString(context, key, "");
    }

    public static String getUid(Context context) {
        return getString(context, "uid", "");
    }

    public static void setUid(Context context, String value) {
        putString(context, "uid", value);
    }

    public static void setDriverLat(Context context, String value) {
        putString(context, "driver_lat", value);
    }

    public static void setDriverLon(Context context, String value) {
        putString(context, "driver_lon", value);
    }

    public static String getDriverLat(Context context) {
        return getString(context, "driver_lat", "");
    }

    public static String getDriverLon(Context context) {
        return getString(context, "driver_lon", "");
    }

    public static String getDriverCity(Context context) {
        return getString(context, "driver_city", "");
    }

    public static void setDriverCity(Context context, String value) {
        putString(context, "driver_city", value);
    }


    public static String getTieDriverCity(Context context) {
        return getString(context, "send_city", "");
    }

    public static void setTieDriverCity(Context context, String value) {
        putString(context, "send_city", value);
    }

    public static String getDriverCityID(Context context) {
        return getString(context, "driver_cityid", "");
    }

    public static void setDriverCityID(Context context, String value) {
        putString(context, "driver_cityid", value);
    }



    public static String getDid(Context context) {
        SharedPreferences sharedPreferences = context.getSharedPreferences(
                "UID", Activity.MODE_PRIVATE);
        return sharedPreferences.getString("UID", "");
    }

    /**
     * 设置是否空车状态
     * @param context
     * @param value
     */
    public static void setDriverEmpty(Context context, boolean value) {
        putBoolean(context, "is_Empty", value);
    }

    /**
     * 获取是否空车状态
     * @param context
     * @return
     */
    public static boolean getDriverEmpty(Context context) {
        return getBoolean(context, "is_Empty", false);
    }

    public static void setDriverPic(Context context, String value) {
        putString(context, "driver_pic", value);
    }

    public static String getDriverPic(Context context) {
        return getString(context, "driver_pic", "");
    }

    /**
     * 设置是否第一次进入,引导图使用
     * @param context
     * @param value
     */
    public static void setFirst(Context context, boolean value) {
        putBoolean(context, "is_first", value);
    }

    /**
     * 是否是第一次进入
     * @param context
     * @return
     */
    public static boolean isFirst(Context context) {
        return getBoolean(context, "is_first", true);
    }

    public static void setDeviceId(Context context, String value) {
        putString(context, "device_id", value);
    }

    public static String getDevideId(Context context) {
        return getString(context, "device_id", "");
    }



    public static void setDaiJiaStatus(Context context, String value) {
        putString(context, "daijia_status", value);
    }

    public static String getDaijiaStatus(Context context) {
        return getString(context, "daijia_status", "");
    }


    public static void setShangBanTimer(Context context, String value) {
        putString(context, "sbtimer", value);
    }

    public static String getShangBanTimer(Context context) {
        return getString(context, "sbtimer", "");
    }


    public static void setaddress(Context context, String value) {
        putString(context, "address", value);
    }

    public static String getaddress(Context context) {
        return getString(context, "address", "");
    }


    public static void setOrder_id(Context context, String value) {
        putString(context, "orderid", value);
    }

    public static String getOrder_id(Context context) {
        return getString(context, "orderid", "");
    }

    public static void setStart_lon(Context context, String value) {
        putString(context, "start_lon", value);
    }

    public static String getStart_lon(Context context) {
        return getString(context, "start_lon", "");
    }

    public static void setStart_lat(Context context, String value) {
        putString(context, "start_lat", value);
    }

    public static String getStart_lat(Context context) {
        return getString(context, "start_lat", "");
    }


    public static void setJuli(Context context, String value) {
        putString(context, "juli", value);
    }

    public static String getJuli(Context context) {
        return getString(context, "juli", "");
    }


    public static void setDJ_waitMinit(Context context, String value) {
        putString(context, "dj_waitminit", value);
    }

    public static String getDJ_waitMinit(Context context) {
        String tmp=getString(context, "dj_waitminit", "");
        if(TextUtils.isEmpty(tmp))
            tmp="0";
        return tmp;
    }


    public static void setaddr_end(Context context, String value) {
        putString(context, "addr_end", value);
    }

    public static String getaddr_end(Context context) {
        return getString(context, "addr_end", "");
    }



    public static void setCorrectCity(Context context, String value) {
        putString(context, "correctCity", value);
    }

    public static String getCorrectCity(Context context) {
        return getString(context, "correctCity", "");
    }

    //保存用户数据
    public static void setDriverInfo(Context context, String value) {
        putString(context, "driverInfo", value);
    }
    //获取用户数据
    public static String getDriverInfo(Context context) {
        return getString(context, "driverInfo", "");
    }
    /**
     * 	保存是否在代驾
     */
    public static void setIsDriving(Context context,boolean value){
        putBoolean(context,"isDriving",value);
    }
    /**
     * 	获取是否在代驾
     */
    public static boolean getIsDriving(Context context){
        return getBoolean(context,"isDriving",false);
    }

    /**
     * 	保存是否在申请保险
     */
    public static void setIsAccident(Context context,boolean value){
        putBoolean(context,"isAccident",value);
    }
    /**
     * 	获取是否在申请保险
     */
    public static boolean getIsAccident(Context context){
        return getBoolean(context,"isAccident", false);
    }




}
